// pages/detail/detail.js

// import  datas  from "../../datas/list-data.js";
let datas = require('../../datas/list-data.js')
let appDatas=getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    msg:{},
    iscollected:false,
    index:null,
    isMusicPlay:false
  },
  handlerColection(){
    let iscollected = !this.data.iscollected;

    let title = iscollected?'收藏成功':'取消收藏'
    // 提示用户
    wx.showToast({
      title,
      icon:'success'
    })

    this.setData({
      iscollected
    })

    //本地缓存 setStorage

    
    let { index}=this.data

    wx.getStorage({
      key: 'iscollected',
      success: function(res) {
        console.log(res)
        let obj =res.data

        obj[index] = iscollected;

        wx.setStorage({
          key: 'iscollected',
          data: obj,
          success: () => {
            console.log('缓存ok')
          }
        })
      },
      fail:()=>{
        let obj = {}
        console.log('失败')

        obj[index] = iscollected;

        wx.setStorage({
          key: 'iscollected',
          data: obj,
          success: () => {
            console.log('缓存ok')
          }
        })
      }
    })

    
  },
  /*
  处理音乐播放
  */
  handlerMusicPlay(){
    let isMusicPlay = !this.data.isMusicPlay
    this.setData({
      isMusicPlay
    })

    //控制音乐播放
    let { dataUrl, title } = this.data.msg.music
  
    if (isMusicPlay){
      wx.playBackgroundAudio({
        dataUrl,
        title
      })
    }else{
      wx.pauseBackgroundAudio()
    }
  },
  /*
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    this.setData({
      msg: datas.list_data[options.index],
      index: options.index
    })
    //根据本地缓存的数据 判断用户是否收藏当前的文章

    let res=wx.getStorageSync('iscollected')
    let { index }= this.data
    console.log(res[index])
    /*
     res[index]的情况有三种
    true
    false
    或者 第一次进入 不存在 undefined
    */
    if (res[index]){
      this.setData({
        iscollected:true
      })
    }
    console.log(appDatas.globalData)

    //进入的时候先判断音乐播放是否是开始状态
    if (appDatas.globalData.isPlay && appDatas.globalData.playIndex==index){
      this.setData({
        isMusicPlay: true
      })
    }

    //监听音乐播放
    wx.onBackgroundAudioPlay(()=>{
      this.setData({
        isMusicPlay:true
      })

      //设置全局的数据
      appDatas.globalData.isPlay=true
      appDatas.globalData.playIndex = index
    })
    //监听音乐暂停
    wx.onBackgroundAudioPause(() => {
      this.setData({
        isMusicPlay: false
      })
      //设置全局的数据
      appDatas.globalData.isPlay = false
      
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  handlerShare(){
      wx.showActionSheet({
        itemList: [
          '分享到朋友圈',
          '分享到QQ空间',
          '分享到微博',
        ],
        success(res) {
          console.log(res.tapIndex)
        },
        fail(res) {
          console.log(res.errMsg)
        }
      })
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})